
/*
 *
 *  Copyright (C) 2012-2024
 *  All rights reserved, Designed By 杭州连线客信息技术有限公司
 *  注意：
 *  本软件为杭州连线客信息技术有限公司开发研制，未经购买不得使用
 *  购买后可获得全部源代码（禁止转卖、分享、上传到码云、github等开源平台）
 *  一经发现盗用、分享等行为，将追究法律责任，后果自负
 *
 */

package com.lxk.oms.postorder.domain.bo;

import com.lxk.oms.postorder.domain.OmsPostOrderAddress;
import io.github.linpeilie.annotations.AutoMapper;
import jakarta.validation.constraints.NotBlank;
import jakarta.validation.constraints.NotNull;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.dromara.common.core.validate.AddGroup;
import org.dromara.common.core.validate.EditGroup;
import org.dromara.common.mybatis.core.domain.BaseEntity;

/**
 * 售后地址业务对象 oms_post_order_address
 *
 * @author LXK-RY5
 * @date 2024-09-28
 */
@Data
@EqualsAndHashCode(callSuper = true)
@AutoMapper(target = OmsPostOrderAddress.class, reverseConvertGenerate = false)
public class OmsPostOrderAddressBo extends BaseEntity {

    /**
     * ID
     */
    @NotNull(message = "ID不能为空", groups = { EditGroup.class })
    private Long id;

    /**
     * 商户id
     */
    @NotNull(message = "商户id不能为空", groups = { AddGroup.class, EditGroup.class })
    private Long merId;

    /**
     * 联系人名称
     */
    @NotBlank(message = "联系人名称不能为空", groups = { AddGroup.class, EditGroup.class })
    private String receiverName;

    /**
     * 联系人手机
     */
    @NotBlank(message = "联系人手机不能为空", groups = { AddGroup.class, EditGroup.class })
    private String receiverMobile;

    /**
     * 联系人详细地址
     */
    @NotBlank(message = "联系人详细地址不能为空", groups = { AddGroup.class, EditGroup.class })
    private String receiverDetailAddress;

    /**
     * 订单省份ID
     */
    @NotNull(message = "订单省份ID不能为空", groups = { AddGroup.class, EditGroup.class })
    private Long orderProvinceId;

    /**
     * 订单省份名称
     */
    @NotBlank(message = "订单省份名称不能为空", groups = { AddGroup.class, EditGroup.class })
    private String orderProvinceName;

    /**
     * 订单城市ID
     */
    @NotNull(message = "订单城市ID不能为空", groups = { AddGroup.class, EditGroup.class })
    private Long orderCityId;

    /**
     * 订单城市名称
     */
    @NotBlank(message = "订单城市名称不能为空", groups = { AddGroup.class, EditGroup.class })
    private String orderCityName;

    /**
     * 订单区县ID
     */
    @NotNull(message = "订单区县ID不能为空", groups = { AddGroup.class, EditGroup.class })
    private Long orderDistrictId;

    /**
     * 订单区县名称
     */
    @NotBlank(message = "订单区县名称不能为空", groups = { AddGroup.class, EditGroup.class })
    private String orderDistrictName;

    /**
     * 售后订单编号
     */
    @NotBlank(message = "售后订单编号不能为空", groups = { AddGroup.class, EditGroup.class })
    private String postOrderSn;

    /**
     * 售后订单ID
     */
    @NotNull(message = "售后订单ID不能为空", groups = { AddGroup.class, EditGroup.class })
    private Long postOrderId;

    /**
     * 类型 0=用户地址  10=商家地址
     */
    @NotNull(message = "类型 0=用户地址  10=商家地址不能为空", groups = { AddGroup.class, EditGroup.class })
    private Integer type;

    /**
     * 物流公司编码
     */
    @NotBlank(message = "物流公司编码不能为空", groups = { AddGroup.class, EditGroup.class })
    private String shipperCode;

    /**
     * 物流单号
     */
    @NotBlank(message = "物流单号不能为空", groups = { AddGroup.class, EditGroup.class })
    private String deliverySn;

    /**
     * 物流名称
     */
    @NotBlank(message = "物流名称不能为空", groups = { AddGroup.class, EditGroup.class })
    private String deliveryName;


}
